package cn.caskm.souvenirshopsystem.service;

import cn.caskm.souvenirshopsystem.domain.Result;
import cn.caskm.souvenirshopsystem.domain.dto.PageDTO;
import cn.caskm.souvenirshopsystem.domain.po.Coupon;
import cn.caskm.souvenirshopsystem.domain.query.CouponQuery;
import cn.caskm.souvenirshopsystem.domain.vo.CouponVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface CouponService extends IService<Coupon> {

    /**
     * 分页查询优惠券
     */
    Result<PageDTO<CouponVO>> page(CouponQuery query);

    /**
     * 获取可用优惠券列表
     */
    Result<List<CouponVO>> getAvailableCoupons();

    /**
     * 创建优惠券
     */
    Result<Void> createCoupon(Coupon coupon);

    /**
     * 更新优惠券
     */
    Result<Void> updateCoupon(Coupon coupon);

    /**
     * 删除优惠券
     */
    Result<Void> deleteCoupon(Integer couponId);

    /**
     * 更新优惠券状态
     */
    Result<Void> updateStatus(Integer couponId, String status);

}
